home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Languages / Oberon⁄F™ 1.1 / Obx / Mod / Random (.txt) < prev    next >
Encoding:
Oberon Document  |  1996-01-05  |  1.6 KB  |  50 lines  |  [oODC/obnF]

  1. Documents.StdDocumentDesc
  2. Documents.DocumentDesc
  3. Containers.ViewDesc
  4. Views.ViewDesc
  5. Stores.StoreDesc
  6. Documents.ModelDesc
  7. Containers.ModelDesc
  8. Models.ModelDesc
  9. Stores.ElemDesc
  10. TextViews.StdViewDesc
  11. TextViews.ViewDesc
  12. TextModels.StdModelDesc
  13. TextModels.ModelDesc
  14. TextModels.AttributesDesc
  15. Helvetica
  16. Helvetica
  17. Helvetica
  18. MODULE ObxRandom;
  19.     VAR z: LONGINT;    (* global variable *)
  20.     PROCEDURE Uniform* (): REAL;
  21.         CONST a = 16807; m = 2147483647; q = m DIV a; r = m MOD a;
  22.         VAR gamma: LONGINT;
  23.     BEGIN
  24.         gamma := a * (z MOD q) - r * (z DIV q);
  25.         IF gamma > 0 THEN
  26.             z := gamma
  27.         ELSE
  28.             z := gamma + m
  29.         END;
  30.         RETURN z * (1.0 / m)    (* value of the function *)
  31.     END Uniform;
  32.     PROCEDURE InitSeed* (seed: LONGINT);
  33.     BEGIN
  34.         z := seed
  35.     END InitSeed;
  36. BEGIN
  37.     z := 314159    (* initial value of seed *)
  38. END ObxRandom.
  39. TextControllers.StdCtrlDesc
  40. TextControllers.ControllerDesc
  41. Containers.ControllerDesc
  42. Controllers.ControllerDesc
  43. TextRulers.StdRulerDesc
  44. TextRulers.RulerDesc
  45. TextRulers.StdStyleDesc
  46. TextRulers.StyleDesc
  47. TextRulers.AttributesDesc
  48. Helvetica
  49. Documents.ControllerDesc
  50.